# 字典特征抽取

## 导入包
from sklearn.feature_extraction import DictVectorizer

def dictvec():
    """
    字典数据抽取
    :return: None
    """
    # 实例化
    #dict = DictVectorizer();
    dict = DictVectorizer(sparse=False);
    # 调用fit_transfer
    data = dict.fit_transform([{'city':'北京',"temp":20},{'city':'上海',"temp":25}])
    '''
    字典数据抽取：把字典中一些类别的数据，分别进行转换成特征
    ['city=上海', 'city=北京', 'temp']
    '''
    print(dict.get_feature_names())
    """
    [{'city=北京': 1.0, 'temp': 20.0}, {'city=上海': 1.0, 'temp': 25.0}]
    """
    print(dict.inverse_transform(data))
    print(data)
    '''
     DictVectorizer();
  (0, 1)	1.0
  (0, 2)	20.0
  (1, 0)	1.0
  (1, 2)	25.0
  DictVectorizer(sparse=False);
  [[ 0.  1. 20.]
 [ 1.  0. 25.]]
    '''
    return None;

"""
数组形式，有类别的这些特征先要转换字典数据，然后再进行抽取
"""
if __name__ == '__main__':
    dictvec()

